﻿using System;

namespace MoroMoro.Samples.ToDoList.Base.Application
{
    /// <summary>
    /// <see cref="OperationScript&lt;TOutputs, TErrors&gt;.Error" /> イベントのデータを提供します。
    /// </summary>
    /// <typeparam name="TErrors">エラーの型。</typeparam>
    /// <seealso cref="OperationScript&lt;TOutputs, TErrors&gt;"/>
    /// <seealso cref="ErrorEventHandler&lt;TErrors&gt;"/>
    public class ErrorEventArgs<TErrors> : EventArgs
        where TErrors : OperationErrors
    {
        /// <summary>
        /// <see cref="ErrorEventArgs&lt;TErrors&gt;"/> クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="errors">エラー。</param>
        public ErrorEventArgs(TErrors errors)
        {
            _errors = errors;
        }


        /// <summary>
        /// エラー。
        /// </summary>
        private readonly TErrors _errors;


        /// <summary>
        /// エラーを取得します。
        /// </summary>
        public TErrors Errors
        {
            get
            {
                return _errors;
            }
        }
    }
}
